#ifndef GROUPMODEL_H
#define GROUPMODEL_H

#include "Group.hpp"
#include "GroupUser.hpp"
#include <iostream>
#include <vector>

class GroupModel
{
public:
      //创建组(创建组的人自动加入组，身份为群主(这里就不复用加入组的代码了))
      bool createGroup(int userid,Group& group);

      //加入组成为普通组员
      bool joinGroup(int userid,int groupid,std::string role);

      //查询这个id的人是否在这个组里
      bool isInGroup(int userid,int groupid);

      //改变组成员的id
      bool changeRole(int userid,int groupid,int targetid,std::string newrole);

      //查询自己所在的所有组信息
      std::vector<Group> queryGroup(int userid);

      //查询userid在groupid里的职位
      std::string queryRole(int userid,int groupid);

      //查询自己某个所在组的所有成员信息
      std::vector<GroupUser> queryGroupuser(int userid,int groupid);
};


#endif